package com.sogoodsoft.entity.crm;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import com.sogoodsoft.entity.IdEntity;
import com.sogoodsoft.entity.app.SysClass;

/**
  *GOODS对象模型
  */
@Entity
@Table(name = "GOODS")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Goods extends IdEntity  {
	private static final long serialVersionUID = 1L;

/** 产品系列和分类，引用sys-Class表 */
private Long category;
/** 商品中文全称 */
private String pname;
/** 商品中文简称 */
private String shortname;
/** 商品英文全称 */
private String ename;
/** 商品英文简称 */
private String enickname;
/** 商品售价 */
private Double price;
/** 商品重量和单位 */
private String weight;
/** 商品型号 */
private String model;
/** 商品产地 */
private String origin;
/** 备注 */
private String note;
/** 功能与描述 */
private String description;

/** 单位 */
private String unit;

private SysClass cate;

/**
*获取产品系列和分类，引用sys-Class表
*@return 产品系列和分类，引用sys-Class表
*/
@Column(name = "CATEGORY" ,insertable=false,updatable=false)
public Long getCategory() {
return this.category;
}
/**
设置产品系列和分类，引用sys-Class表
*@param category 产品系列和分类，引用sys-Class表
*/
public void setCategory(Long category) {
this.category = category;
}
/**
*获取商品中文全称
*@return 商品中文全称
*/
@Column(name = "PNAME")
public String getPname() {
return this.pname;
}
/**
设置商品中文全称
*@param pname 商品中文全称
*/
public void setPname(String pname) {
this.pname = pname;
}
/**
*获取商品中文简称
*@return 商品中文简称
*/
@Column(name = "SHORTNAME")
public String getShortname() {
return this.shortname;
}
/**
设置商品中文简称
*@param shortname 商品中文简称
*/
public void setShortname(String shortname) {
this.shortname = shortname;
}
/**
*获取商品英文全称
*@return 商品英文全称
*/
@Column(name = "ENAME")
public String getEname() {
return this.ename;
}
/**
设置商品英文全称
*@param ename 商品英文全称
*/
public void setEname(String ename) {
this.ename = ename;
}
/**
*获取商品英文简称
*@return 商品英文简称
*/
@Column(name = "ENICKNAME")
public String getEnickname() {
return this.enickname;
}
/**
设置商品英文简称
*@param enickname 商品英文简称
*/
public void setEnickname(String enickname) {
this.enickname = enickname;
}
/**
*获取商品售价
*@return 商品售价
*/
@Column(name = "PRICE")
public Double getPrice() {
return this.price;
}
/**
设置商品售价
*@param price 商品售价
*/
public void setPrice(Double price) {
this.price = price;
}
/**
*获取商品重量和单位
*@return 商品重量和单位
*/
@Column(name = "WEIGHT")
public String getWeight() {
return this.weight;
}
/**
设置商品重量和单位
*@param weight 商品重量和单位
*/
public void setWeight(String weight) {
this.weight = weight;
}
/**
*获取商品型号
*@return 商品型号
*/
@Column(name = "MODEL")
public String getModel() {
return this.model;
}
/**
设置商品型号
*@param model 商品型号
*/
public void setModel(String model) {
this.model = model;
}
/**
*获取商品产地
*@return 商品产地
*/
@Column(name = "ORIGIN")
public String getOrigin() {
return this.origin;
}
/**
设置商品产地
*@param origin 商品产地
*/
public void setOrigin(String origin) {
this.origin = origin;
}
/**
*获取备注
*@return 备注
*/
@Column(name = "NOTE")
public String getNote() {
return this.note;
}
/**
设置备注
*@param note 备注
*/
public void setNote(String note) {
this.note = note;
}
/**
*获取功能与描述
*@return 功能与描述
*/
@Column(name = "DESCRIPTION")
public String getDescription() {
return this.description;
}
/**
设置功能与描述
*@param description 功能与描述
*/
public void setDescription(String description) {
this.description = description;
}


/**
单位
*@param unit 单位
*/
@Column(name = "UNIT")
public String getUnit() {
	return unit;
}
public void setUnit(String unit) {
	this.unit = unit;
}
@ManyToOne(cascade={CascadeType.REFRESH,CascadeType.MERGE},optional=true)
@JoinColumn(name="CATEGORY")
public SysClass getCate() {
	return cate;
}
public void setCate(SysClass cate) {
	this.cate = cate;
}

}